背景补充

  1. 受集团一体化战略的影响:
    1. 希望 DataWorks 产品能够重新梳理,更好的解耦,并支持让用户使用阿里云的公共云产品搭建出来,比如用户购买 NAS, Git (云效), MC 之后,而不是让客户完全依赖我们的后端服务,我们做的可能也不专业。
    2. 更好的插件化:插件一样,购买了产品之后,DataWorks 所有的应用都可以直接感知到,例如某个产品的菜单多了一个引擎。
  2. 大数据开发的业界,基本都是以 DataWorks 为模板,我们怎么修改,业界就怎么抄。我们认为现在老版的数据开发已经达到比较稳定的状态了,下一个阶段我们需要通过升级 IDE 框架的基座,带来大数据开发的全新体验,同时也提高一下技术门槛,让业界没有那么容易复制。

前后端分离

如何思考的 WebIDE? 只需要前端? 后端需要什么支持?我们现在的问题就是后端话语权很重。

实际问题

  1. VS Code 的调研: Theia/开天/VS Code. 并深入了解
  2. 独立负责很多模块:
    1. 技术评审、设计文档
    2. 实现。周报里汇总各种动图实现的效果。
    3. 遇到问题:
      1. 通常会找师兄,问题带着解决方案,灵感碰撞。Code Review 之后再合并,虚线 +1 +2 都会帮我看一下问题,主要也是需要让 +1 +2 了解项目进度
      2. github 问官方团队成员。
      3. 实在不行,可能会考虑换一种交互方式。
    4. Code Review 师兄的一些设计,做了很多意见反馈
  3. 跨团队: 后端? 产品?前端?
    1. 后端: 有一些后端的同学,会一起讨论一些问题,比如后端的接口设计,前端的接口设计,前端的数据
    2. 支持 jupyterlite 之类的工作?
  4. 技术氛围:
    1. 发起技术分享,小团队。
    2. 小团建等。
    3. Code Review.

问题

自研框架无法直接复用开源生态,海量的插件。

项目经历

  1. VS Code + XXXX

  2. VS Code extension 开发生态: 脚手架、构建

  3. VS Code 与我们业务结合方式。

  4. 介绍 VS Code 的架构,扩展与底座之间的关系。 底座与业务之间的关系。

  5. VS Code 与传统的前端应用的区别,与 theia/open sumi 的区别

  6. , 为什么需要用 worker 进程。 扩展进程挂掉 不会影响主进程

  7. VS Code 遇到的性能问题, webview 加载,复杂的数据计算怎么办。 service Worker 拦截接口,web worker 复杂计算处理完毕之后通知主进程。

  8. 部署遇到的问题: worker 的跨域处理。背景: 无服务器形式部署。

  9. when 的实现原理: when 解析。 依赖收集。 contextService 修改值。事件通知 Service 上下文已经被修改。 when 条件重新被执行。

  10. 如何自定义 contribution, UI 和 Service 自定义 sdk

Last Updated:
Contributors: yiliang114